Jeg vil ikke gi nytt navn til en ekstern gren, som beskrevet i Gi nytt navn til hovedgren for både lokale og eksterne Git-arkiver. Hvordan kan jeg gi nytt navn til en lokal filial som ikke har blitt presset til en ekstern filial? I tilfelle du trenger å gi nytt navn til ekstern gren: Hvordan omdøper jeg både et Git lokalt og eksternt grennavn
2020-12-07 21:28:10
1 2 Neste Hvis du vil gi nytt navn til en gren mens du peker på en hvilken som helst gren, gjør du: git branch -mHvis du vil gi nytt navn til den nåværende grenen, kan du gjøre: git branch -m En måte å huske dette på er -m er for "move" (eller mv), slik du endrer navn på filer. Å legge til et alias kan også hjelpe. For å gjøre det, kjør følgende: git config --global alias. navn 'gren -m' Hvis du bruker Windows eller et annet store og små bokstaver, og det bare er store bokstaver i navnet, må du bruke -M, ellers vil git throw gren allerede eksisterer feil: git branch -M | git branch -m old_branch_name new_branch_name Ovennevnte kommando vil endre grennavnet ditt, men du må være veldig forsiktig med å bruke den omdøpte grenen, fordi den fremdeles vil henvise til den gamle oppstrømsgrenen som er tilknyttet den, hvis noen. Hvis du vil presse noen endringer til master etter at den lokale grenen blir omdøpt til new_branch_name (eksempelnavn): git push origin new_branch_name: master (nå vil endringene gå til hovedgrenen, men det lokale grennavnet er new_branch_name) For mer informasjon, se "Slik endrer du navnet på det lokale filialnavnet ditt i Git." | Slik omdøper du den nåværende grenen din: git branch -m | Her er trinnene for å gi nytt navn til grenen: Bytt til grenen som må omdøpes git branch -m git push-opprinnelse: git push origin : refs / heads / EDIT (12/01/2017): Forsikre deg om at du kjører status for kommandogit og sjekk at den nyopprettede grenen peker på sin egen ref og ikke den eldre. Hvis du finner referansen til den eldre grenen, må du slå av oppstrøms ved hjelp av: git branch --unset-upstream | Endre navn på filialen vil være nyttig når filialen din er ferdig. Så kommer nye ting, og du vil utvikle deg i samme gren i stedet for å slette det og opprette det nye. Fra min erfaring bør du gjøre følgende for å gi nytt navn til en lokal og ekstern gren i Git. Sitat fra flere stater - Gi nytt navn til en lokal og ekstern filial i git 1. Gi nytt navn til den lokale avdelingen Hvis du er på grenen, vil du gi nytt navn: git gren -m nytt navn Hvis du er i en annen gren: git branch -m old-name new-name 2. Slett den gamle navngivne grenen, og trykk på den lokale grenen for nytt navn git push opprinnelse: gammelt navn nytt navn 3. Tilbakestill oppstrømsgrenen for den lokale filialen med nytt navn git push origin -u new-name | Svarene så langt har vært korrekte, men her er litt tilleggsinformasjon: Man kan trygt gi nytt navn til en gren med '-m' (flytte), men man må være forsiktig med '-M', fordi det tvinger omdøpet, selv om det allerede er en gren med samme navn. Her er utdraget fra man-siden til git-gren: Med alternativet -m eller -M vil bli omdøpt til . Hvis hadde en tilsvarende reflog, blir den omdøpt for å matche , og det blir opprettet en reflog-oppføring for å huske filnavnet. Hvis eksisterer, må -M brukes til å tvinge omdøpet til å skje. | 1. Gi nytt navn Hvis det er din nåværende gren, bare gjør git branch -m new_name Hvis det er en annen gren du vil gi nytt navn git branch -m old_name new_name 2. Spor en ny ekstern gren - Hvis filialen din ble presset, må du etter å gi nytt navn slette den fra det eksterne Git-depotet og be din nye lokale om å spore en ny ekstern gren: git push origin: old_name git push - set-upstream origin new_name | Jeg kalte tåpelig en gren som begynte med bindestrek, og så sjekket ut mester. Jeg ville ikke slette filialen min, jeg hadde arbeid i den. Ingen av disse fungerte: git checkout -dumb-name git checkout - -dumb-name "s, s og \ s hjalp heller ikke. git branch -m virker ikke. Slik har jeg endelig løst det. Gå inn i arbeidskopien .git / refs / heads, finn filnavnet "-dumb-name", få hash av grenen. Da vil dette sjekke det ut, lage en ny gren med et tilregnelig navn og slette den gamle. git checkout {hash} git checkout -b brilliant-name git branch -d - -dumb-name | Slik omdøper du en filial lokalt: git branch -m [old-branch] [new-branch] Nå må du overføre disse endringene også på den eksterne serveren. Slik skyver du endringer i den slettede gamle grenen: git push origin: [old-branch] For å presse endringene i etableringen av en ny gren: git push origin [new-branch] | Bare tre trinn for å replikere endring i navn på fjernkontroll så vel som på GitHub: Trinn 1 git gren -m old_branchname new_branchname Trinn 2 git push origin: old_branchname new_branchname Trinn 3 git push - set-upstream origin new_branchname | Gi nytt navn til grenen ved hjelp av denne kommandoen: git branch -m [old_branch_name] [new_branch_name] -m: Den omdøper / flytter grenen. Hvis det allerede er en filial, vil du få en feil. Hvis det allerede er en gren og du vil gi nytt navn til den grenen, bruk: git rename -M [old_branch_name] [new_branch_name] For mer informasjon om hjelp, bruk denne kommandoen i terminalen: git gren - hjelp eller mann gitgren | Avanserte Git-brukere kan gi nytt navn ved å bruke: Gi nytt navn til den gamle grenen under .git / refs / heads til det nye navnet Gi nytt navn til den gamle grenen under .git / logs / refs / heads til det nye navnet Oppdater .git / HEAD for å peke på det nye grennavnet | Gi nytt navn til din lokale filial. Hvis du er på grenen, vil du gi nytt navn: git gren -m nytt navn Hvis du er i en annen gren: git branch -m old-name new-name Slett den gamle navnet, den eksterne grenen, og trykk på den lokale grenen for nytt navn. git push opprinnelse: gammelt navn nytt navn Tilbakestill oppstrømsgrenen for den lokale filialen med nytt navn. Bytt til grenen og deretter: git push origin -u new-name Eller for en rask måte å gjøre det på, kan du bruke disse tre trinnene: # Gi nytt navn til grenen lokalt git gren -m gammel_ gren ny_ gren # Slett den gamle eksterne grenen git push origin: old_branch # Trykk på den nye grenen, sett lokal grense for å spore den nye fjernkontrollen git push - set-upstream origin new_branch Henvisning: https://www.w3docs.com/snippets/git/how-to-rename-git-local-and-remote-branches.html | Her er tre trinn: En kommando som du kan ringe inne i terminalen din og endre grennavn. git branch -m old_branch new_branch # Gi nytt navn til filial lokalt git push origin: old_branch # Slett den gamle grenen git push --set-upstream origin new_branch # Push the new branch, set local branch to track the new remote Hvis du trenger mer: trinnvis, How To Change Git Branch Name er en god artikkel om det. | Sannsynligvis som nevnt av andre, vil dette være et tilfelle misforhold i navngivning av grener. Hvis du har en slik situasjon, kan jeg gjette at du bruker Windows, som også vil føre deg til: $ git branch -m CaseSensitive case-sensitive dødelig: Det eksisterer allerede en gren med navnet "case-sensitive". Da må du gjøre et mellomtrinn: $ git gren -m midlertidig $ git gren -m store og små bokstaver Ikke noe mer. | Prøver å svare spesifikt på spørsmålet (i det minste tittelen). Du kan også gi nytt navn til lokal filial, men fortsetter å spore det gamle navnet på fjernkontrollen. git gren -m gammel_ gren ny_ gren git push --set-upstream origin new_branch: old_branch Nå, når du kjører git push, blir den eksterne old_branch ref oppdatert med din lokale new_branch. Du må kjenne og huske denne konfigurasjonen. Men det kan være nyttig hvis du ikke har valget for det eksterne grennavnet, men du ikke liker det (å, jeg mener, du har en veldig god grunn til ikke å like det!) Og foretrekker en klarere navnet på din lokale filial. Når du spiller med hentingskonfigurasjonen, kan du til og med gi nytt navn til den lokale fjernreferansen. det vil si å ha en refs / fjern / opprinnelse / ny_ gren ref peker til grenen, det er faktisk den gamle_grenen på opprinnelse. Imidlertid fraråder jeg dette for å beskytte deg. | Det er ganske enkelt å skifte gren lokalt ... Hvis du er på grenen du vil endre navnet på, gjør du bare dette: git branch -m my_new_branch Ellers, hvis du er på mester eller annen gren enn den du vil endre navnet, gjør du bare: git branch -m my_old_branch my_new_branch Også oppretter jeg bildet nedenfor for å vise dette i aksjon på en kommandolinje. I dette tilfellet er du på mastergren, for eksempel: | Hvis du er villig til å bruke SourceTree (som jeg anbefaler på det sterkeste), kan du høyreklikke på grenen din og velge 'Gi nytt navn'. | For å gi nytt navn til den nåværende grenen (unntatt frittliggende HEAD-tilstand) kan du også bruke dette aliaset: [alias] mvh =! sh -c 'git branch -m `git rev-parse --abbrev-ref HEAD` $ 1' | Et annet alternativ er ikke å bruke kommandolinjen i det hele tatt. Git GUI-klienter som SourceTree tar bort mye av den syntaktiske læringskurven / smerten som får spørsmål som denne til å være blant de mest sett på Stack Overflow. I SourceTree, høyreklikk på en hvilken som helst lokal gren i "Grener" -ruten til venstre og velg "Gi nytt navn ...". | En enkel måte å gjøre det på: git branch -m old_branch new_branch # Gi nytt navn til filial lokalt git push origin: old_branch # Slett den gamle grenen git push --set-upstream origin new_branch # Push the new branch, set local branch to track the new remote For mer, se dette. | Siden du ikke vil skyve grenen til en ekstern server, vil dette eksemplet være nyttig: La oss si at du har en eksisterende gren kalt "min hot-funksjon", og at du vil gi den nytt navn til "feature-15". Først vil du endre din lokale filial. Dette kan ikke være enklere: git branch -m my-hot-feature feature-15 For mer informasjon kan du gå til Lokalt og eksternt endre navn på en filial i Git. | Git versjon 2.9.2 Hvis du vil endre navnet på den lokale avdelingen du er i: git branch -m new_name Hvis du vil endre navnet på en annen gren: git branch -m old_name new_name Hvis du vil endre navnet på en annen gren til et navn som allerede eksisterer: git branch -M old_name new_name_that_already_exists Merk: Den siste kommandoen er ødeleggende og vil gi nytt navn til grenen din, men du mister den gamle grenen med det navnetog de forplikter seg fordi filialnavn må være unikt. | Hvis du vil endre navnet på den nåværende grenen, kjører du: git branch -m [old_branch] [new_branch] Hvis du vil slette den gamle eksterne grenen, kjører du: git push opprinnelse: [old_branch] Hvis du vil slette den gamle eksterne grenen og opprette en ny ekstern gren, kjører du: git push origin: old_branch new_branch | Egentlig har du tre trinn fordi den lokale grenen har et duplikat på serveren, så vi har ett trinn for lokalt på to trinn på serveren: Gi nytt navn til lokal: bruk bare følgende kommando for å gi nytt navn til den nåværende grenen din, selv om du sjekket den ut: git branch -m Slett serveren en: bruk følgende kommando for å slette den gamle navngrenen på serveren: git push : Trykk på den nye: nå er det på tide å skyve den nye grenen som er oppkalt på serveren: git push -u | Navn på Git-gren kan gjøres ved å bruke: git branch -m oldBranch newBranch git gren -M oldBranch Eksisterende gren Forskjellen mellom -m og -M: -m: hvis du prøver å gi nytt navn til filialen din med et eksisterende filialnavn ved hjelp av -m. Det vil føre til en feil som sier at grenen allerede eksisterer. Du må gi et unikt navn. Men, -M: dette vil hjelpe deg med å tvinge omdøping med et gitt navn, selv om det eksisterer. Så en eksisterende gren vil overskrive den helt ... Her er et eksempel på Git-terminalen, mohideen @ dev: ~ / project / myapp / sunithamakeup $ git gren herre master0 ny_mester test * test1 mohideen @ dev: ~ / project / myapp / sunithamakeup $ git branch -m test1 test dødelig: En gren med navnet "test" eksisterer allerede. mohideen @ dev: ~ / project / myapp / sunithamakeup $ git branch -M test1 test mohideen @ dev: ~ / project / myapp / sunithamakeup $ git gren herre master0 ny_mester * test mohideen @ dev: ~ / prosjekt / myapp / sunithamakeup $ | For Git GUI-brukere kan det ikke være mye enklere. I Git GUI velger du grennavnet fra rullegardinlisten i dialogboksen "Gi nytt navn til gren" opprettet fra menypunktet Gren: Gi nytt navn, skriv inn et nytt navn og klikk "Gi nytt navn". Jeg har markert hvor du finner rullegardinlisten. | Alle de forrige svarene snakker om git branch -m. Selvfølgelig er det enkelt å betjene, men for meg kan det være litt vanskelig å huske en annen Git-kommando. Så jeg prøvde å få utført arbeidet etter kommandoen jeg var kjent med. Ja, du gjettet kanskje. Jeg bruker git branch -b . Og hvis du ikke vil lagre den gamle grenen, kan du utføre git-grenen -D for å fjerne den. Jeg vet at det kan være litt kjedelig, men det er lettere å forstå og huske. Jeg håper det er nyttig for deg. | Hvis du vil: Gi nytt navn til Git-depotet, kjør: git branch -m Slett den gamle grenen ved: git push origin: gammelt navn nytt navn Forplikt det ved å bruke: git commit og trykk deretter med: git push origin new_branch_name: master Hvis du vil sjekke statusen, bruker du: git status Hvis du vil sjekke ut, så bruk: git checkout | Før vi begynner, må du sørge for at du har valgt grenen du vil gi nytt navn: git checkout old-name Hvis du vil se alle lokale filialer, bruker du følgende kommando: git gren - liste Når du er klar, følger du disse trinnene: Ved å bruke Git rename branch-kommandoen, må du legge til et -m-alternativ i kommandoen: git gren -m nytt navn Du kan også gi nytt navn til en lokal gren fra en annen gren ved å bruke følgende to kommandoer: git checkout master git branch -m old-name new-name Til slutt vil denne kommandoen liste opp alle - både lokale og eksterne grener for å bekrefte at den har fått nytt navn: git gren -a Selv om det ikke er mulig å gi nytt navn til en ekstern gren direkte, innebærer prosessen med å gi nytt navn en av disse tre enkle trinnene: For å starte, må du gi nytt navn til en lokal filial ved å følge de forrige trinnene. 2. Slett deretter den gamle grenen og skyv den nye. Du kan gjøre dette enkelt med følgende kommandoer: git push origin - slett gammelt navn git push opprinnelse: gammelt navn nytt navn Tilbakestill oppstrømsgrenen for den nye lokale grenen din, så er du klar: git push origin -u new-name | 1 2 Neste Svært aktivt spørsmål. Tjen 10 rykte for å svare på dette spørsmålet. Omdømmekravet hjelper deg med å beskytte dette spørsmålet mot spam og ikke-svar-aktivitet. Er ikke svaret du leter etter? Bla gjennom andre spørsmål merket git versjonskontroll git-gren eller still ditt eget spørsmål.